package com.aiwiown.face.domain.discern;

import com.aiwiown.face.ApiObject;
import com.aiwiown.face.domain.params.ApiParamType;
import com.aiwiown.face.internal.mapping.ApiField;

/**
 * @ClassName : FaceMergefaceModel
 * @Description :
 * @Author : dbin0123
 * @Date: 2020-06-13 14:57
 */
public class FaceMergefaceModel extends ApiObject {
    private static final long serialVersionUID = 7484721305073797742L;

    /**
     * 模板图图片的 URL。
     */
    @ApiField("template_url")
    private String templateUrl;
    /**
     * 模板图图片的二进制文件，需要用 post multipart/form-data 的方式上传
     */
    @ApiField(value = "template_file", paramType = ApiParamType.FILE)
    private String templateFile;
    /**
     * 模板图图片的 Base64 编码二进制文件。
     */
    @ApiField("template_base64")
    private String templateBase64;
    /**
     * 指定模板图中进行人脸融合的人脸框位置。
     * <p>
     * 参数规格
     * 四个正整数，用逗号分隔，依次代表人脸框左上角纵坐标（top），左上角横坐标（left），人脸框宽度（width），人脸框高度（height）。例如：70,80,100,100
     * <p>
     * 人脸框说明
     * 人脸框的四边是平行于图片边框的，不需要角度信息。建议通过 Detect API 获取图片中的人脸框信息。
     */
    @ApiField("template_rectangle")
    private String templateRectangle;
    /**
     * 融合图的图片URL。
     */
    @ApiField("merge_url")
    private String mergeUrl;
    /**
     * 融合图的二进制文件，需要用 post multipart/form-data 的方式上传。
     */
    @ApiField(value = "merge_file", paramType = ApiParamType.FILE)
    private String mergeFile;
    /**
     * 融合图的 Base64 编码二进制文件
     */
    @ApiField("merge_base64")
    private String mergeBase64;
    /**
     * 指定融合图中用以融合的人脸框位置。
     * <p>
     * 参数规格
     * 四个正整数，用逗号分隔，依次代表人脸框左上角纵坐标（top），左上角横坐标（left），人脸框宽度（width），人脸框高度（height）。例如：70,80,100,100
     * <p>
     * 人脸框说明
     * 人脸框的四边是平行于图片边框的，不需要角度信息。建议通过 Detect API 获取图片中的人脸框信息。
     */
    @ApiField("merge_rectangle")
    private String mergeRectangle;
    /**
     * 融合比例，范围 [0,100]。数字越大融合结果包含越多融合图 (merge_url, merge_file, merge_base64 代表图片) 特征。
     * <p>
     * 默认值为50
     */
    @ApiField("merge_rate")
    private Integer mergeRate;
    /**
     * 五官融合比例，范围 [0,100]。主要调节融合结果图中人像五官相对位置，数字越小融合图 (merge_url, merge_file, merge_base64 代表图片)中人像五官相对更集中 。
     * <p>
     * 默认值为45
     */
    @ApiField("feature_rate")
    private Integer featureRate;

    public String getTemplateUrl() {
        return templateUrl;
    }

    public void setTemplateUrl(String templateUrl) {
        this.templateUrl = templateUrl;
    }

    public String getTemplateFile() {
        return templateFile;
    }

    public void setTemplateFile(String templateFile) {
        this.templateFile = templateFile;
    }

    public String getTemplateBase64() {
        return templateBase64;
    }

    public void setTemplateBase64(String templateBase64) {
        this.templateBase64 = templateBase64;
    }

    public String getTemplateRectangle() {
        return templateRectangle;
    }

    public void setTemplateRectangle(String templateRectangle) {
        this.templateRectangle = templateRectangle;
    }

    public String getMergeUrl() {
        return mergeUrl;
    }

    public void setMergeUrl(String mergeUrl) {
        this.mergeUrl = mergeUrl;
    }

    public String getMergeFile() {
        return mergeFile;
    }

    public void setMergeFile(String mergeFile) {
        this.mergeFile = mergeFile;
    }

    public String getMergeBase64() {
        return mergeBase64;
    }

    public void setMergeBase64(String mergeBase64) {
        this.mergeBase64 = mergeBase64;
    }

    public String getMergeRectangle() {
        return mergeRectangle;
    }

    public void setMergeRectangle(String mergeRectangle) {
        this.mergeRectangle = mergeRectangle;
    }

    public Integer getMergeRate() {
        return mergeRate;
    }

    public void setMergeRate(Integer mergeRate) {
        this.mergeRate = mergeRate;
    }

    public Integer getFeatureRate() {
        return featureRate;
    }

    public void setFeatureRate(Integer featureRate) {
        this.featureRate = featureRate;
    }
}
